package com.koron.tool.mapper;

import com.koron.tool.bean.ToolGroupBean;
import com.koron.tool.bean.ToolWarningInfoBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * @Author: laiguangming
 * @Date: 2022/10/20 9:52
 */
public interface ToolWarningInfoMapper {

    /**
     * 批量插入预警信息
     * @return
     */
    Integer batchInsertWarningInfo(@Param("list") List<ToolWarningInfoBean> list);

    /**
     * 查询即将到达校验期的工器具
     * @return
     */
    List<ToolWarningInfoBean> getInspectionWarningInfo();


    /**
     * 查询即将到达报废期的工器具
     * @return
     */
    List<ToolWarningInfoBean> getScrapWarningInfo();


    /**
     * 查询盘点账物不符的盘点报告信息
     * @return
     */
    List<ToolWarningInfoBean> getInventoryWarningInfo(@Param("codes") Set<String> codes);

    /**
     * 查询配置了盘点周期且最近7天没有已完成盘点单的库房
     * @return
     */
    List<ToolGroupBean> getInventoryCycleWarningInfo();

    /**
     * 获取预警信息列表
     * @return
     */
    List<ToolWarningInfoBean> getWarningInfoList();

    /**
     * 批量修改预警信息显示状态
     * @param codes
     * @return
     */
    Integer batchUpdateStatus(@Param("reason") Integer reason, @Param("codes") Set<String> codes);

}
